The PS/2 communication protocol remains in wide use, especially for interfacing a keyboard and pointing device to a host computing device. Although the PS/2 communication protocol has many limitations, components conforming to the PS/2 protocol are relatively inexpensive and widely available. The requirements for PS/2 data packets that conform to this protocol for such devices are relatively simple and well known. Thus, the PS/2 protocol remains attractive for use in communicating with low cost devices, such as personal computer keyboards and pointing devices, that are connected to the PS/2 port of a computing device.
However, use of the standard PS/2 protocol has been extended somewhat to accommodate a few additional device features that were not originally contemplated in the protocol. For example, a scroll wheel on a mouse is accommodated by using the following 4-byte data packet rather than a conventional 3-byte data packet used for a mouse that does not include a scroll wheel. Clearly, specific drivers must be used with a mouse that includes a scroll wheel to support this added functionality.
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0Byte 1YXYXAlways MiddleRightLeftover-over-signsign1BtnBtnBtnflowflowByte 2          X Movement DataByte 3Y Movement DataByte 4Z Movement DataThe fourth byte comprises a 2's complement number that represents the scrolling wheel's movement since a last data report. A scroll wheel is sometimes referred to as a Z wheel, and scroll wheel movement is sometimes referred to as Z movement. Valid values of Z movement are in the range of −8 to +7 (decimal). Because the values are relatively low, the Z movement number is actually represented only by the least significant 4 bits of the 4th byte. The most significant 4 bits act only as sign extension bits.
PS/2 port drivers were developed with considerable effort and expense to accommodate the above 4-byte data packet for scroll wheel movement. These PS/2 port drivers are now well known and widely available, constituting an industry standard. However, further extension of these port drivers to accommodate still more features is undesirable, because the PS/2 protocol is being replaced by more flexible alternative protocols, such as the universal serial bus (USB) protocol, designed for other types of communication ports on a computing device. Nevertheless, the PS/2 protocol is likely to remain in use for a number of years, and additional features for electronic devices that use the protocol are certain to emerge. Thus, while it is desirable to continue using current PS/2 drivers and components, an approach is required to accommodate new features within the constraints of the PS/2 protocol.
For example, many newer PS/2 keyboards, mice, and other devices use wireless technology that frees the devices from direct connection with a host device. Although wireless devices provide greater freedom of movement, the wireless feature introduces other problems. For instance, wireless devices do not obtain power from the host device. Instead, the wireless devices typically include batteries to provide their own power. Similarly, wireless devices are more susceptible to electromagnetic interference than a wired device that is connected directly to the host device. Such problems create a need to monitor the wireless devices to determine parameters such as battery level and signal quality. Unfortunately, the PS/2 protocol and currently widely used industry standard port drivers do not support reporting such monitoring functions to the host. Although the port drivers could be rewritten to support monitoring functions or other features, rewriting the port drivers is undesirable, because of the required effort and expense, and because of the uncertain future of PS/2 ports on newer computing devices. Thus, an alternative approach is desired that enables use of the existing PS/2 infrastructure of drivers and components, yet accommodates monitoring and conveying information in regard to additional features of new devices that communicate using the PS/2 protocol.